Private network-to-network interface

ABSTRACT

The specification describes techniques for evaluating important network performance parameters, for example, call set-up time, for different network topologies. These are used to determine the optimum number of hierarchical levels for a given PNNI network.

FIELD OF THE INVENTION

This invention relates to private network-to-network interfaces (PNNI), and more specifically to methods for constructing PNNI networks with optimized architecture.

BACKGROUND OF THE INVENTION

Private network-to-network interfaces (PNNI) refers to very large ATM networks that communicate between multiple private networks. Depending on the number of nodes served by the PNNI network, the architecture may be flat (non-hierarchical) or may have two or more hierarchical levels. When the network topology moves to multiple level architecture, several new effects on network performance are introduced. A primary motive for introducing new levels in a PNNI network is to increase routing efficiency and reduce call set-up time. However, added levels increase cost and management complexity. Thus there is an important trade-off when considering adding new hierarchical levels.

A typically PNNI network is organized in peer groups. These are subunits of the total network that are interconnected as a group, with each group then interconnected in the PNNI network. An advantage of this architecture is that communications between members in a peer group can be independent of overall network management. When a communication between a node in one peer group and a node in another peer group is initiated, the PNNI protocol is used for that call set-up and management. The size of the peer groups, i.e. the number of nodes in each peer group, also affects the overall performance of the PNNI network. Methods for optimizing peer group size are described and claimed in my co-pending application Serial No. 2003-0292.

To make an accurate evaluation of the trade-off described above requires that the changes in call set-up times when a new hierarchical level is added be known with a high confidence level.

BRIEF STATEMENT OF THE INVENTION

According to the invention, a technique has been developed that evaluates important network performance parameters, for example, call set-up time, for different network topologies. These are used to determine the optimum number of hierarchical levels for a given PNNI network.

BRIEF DESCRIPTION OF THE DRAWING

The invention may be better understood when considered in conjunction with the drawing in which:

FIG. 1 is a schematic diagram of a flat (non-hierarchical) PNNI network;

FIG. 2 is a schematic representation of a two-level hierarchical PNNI network.

DETAILED DESCRIPTION OF THE INVENTION

With reference to FIG. 1, a flat topological PNNI network is represented. These networks typically have many nodes. For simplicity, the illustration shows relatively few nodes 11, organized in peer groups as shown.

FIG. 2 shows the set of five peer groups of FIG. 1 networked in a two level hierarchy. The added level 2 increases the routing efficiency of the overall PNNI network and reduces call set-up time for most of the inter-peer group calls. The issue however is whether that added efficiency merits the cost and complexity of adding the second level. The following section describes how make that trade-off.

In the discussion that follows, let N be the total number of lowest-level nodes (i.e., the number of ATM switches). Let x₁ be the number of lowest-level nodes in each level-1 PG, and let x₂=N/x₁ be the number of level-1 PGs (all variables are assumed to be continuous).

Define A={α|α>1}. We assume the time complexity of computing a minimum cost path in a fiat (non-hierarchical) network with z nodes is R₁(z)=α₀z^(α), where α₀>0 and a∈A. For example, for Dijkstra's shortest path method we have α=2.

Certain nodes are identified as border nodes. A level-1 border node of a PG is a lowest-level node which is an endpoint of a trunk linking the PG to another level-1 PG. For example, if each U.S. state is a level-1 PG, and if there is a trunk from switch a in Chicago to switch b in Denver, then a and b are level-1 border nodes. Define Γ={γ|0≦γ<1}. We assume the number of level-1 border nodes in a PG with x, lowest-level nodes is bounded above by B₁(x₁)=γ₀x₁ ^(γ), where γ₀>0 and γ∈Γ. The case where each PG has a constant number k of border nodes is modelled by choosing γ₀=k and γ=0. The case where the border nodes are the (approximately 4√{square root over (x₁)}) boundary nodes of a square grid of x₁ switches is modelled by choosing to γ₀=4 and y=½.

Define K={κ|0≦κ≦1}. We assume the total number of level-1 PGs, excluding the source level-1 PG, that the connection visits is bounded above by V₁(x₂)=κ₀(x₂ ^(κ)−1), where κ₀>0 and κ∈K. Note that V₁(1)=0, which means that in the degenerate case of exactly one level-1 PG, there are no PGs visited other than the source PG.

This functional form for V₁(x₂) is chosen since the expected distance between two randomly chosen points in a square with side length L is kL, where k depends on the probability model used: using rectilinear distance, with points uniformly distributed over the square, we have k=⅔; using Euclidean distance we have k=( 1/15)[2+√{square root over (2)}+5 log(√{square root over (2)}+1)]≈0.521; with an isotropic probability model we have k=[(2√{square root over (2)}/(3π)]log(1+√{square root over (2)})≈0.264. If the x₂ PGs are arranged in a square grid, a random connection will visit approximately k√{square root over (x₂)} PGs. Choosing κ₀=k and κ=½, the total number of PGs visited is approximately κ₀x₂ ^(κ). Choosing κ₀=1 and κ=1 models the worst case in which the path visits each level-1 PG.

The source node of a connection in a two-level network sees the x₁ nodes in the source PG, and at most B₁(x₁) border nodes in each of the x₂−1 non-source PGs. A path computation is performed by the entry border node of at most V₁(x₂) non-source PGs. In each non-source PG visited, the entry border node sees only the x₁ nodes in its PG when computing a path across the PG (or a path to the destination node, in the case of the destination PG), and so the path computation time complexity at each entry border node is R₁(x₁). Hence the total path computation time is bounded above by R₁(x₁+(x₂−1)B₁(x₁))+V₁(x₂)R₁(x₁)=α₀[x₁+(x₂−1)γ₀x₁ ^(γ)]^(α)+κ₀(x₂ ^(κ)−1)α₀x₁ ^(α). We ignore the constant factor α₀. The optimization problem for a 2-level hierarchy is thus: minimize [x₁+(x₂−1)γ₀x₁ ^(γ)]^(α)+κ₀x₁ ^(α)(x₂ ^(κ)−1) subject to x₁x₂=N.

We next transform this optimization problem to a convex optimization problem (which has a convex objection function, a convex feasible region, and any local minimum is also a global minimum. We approximate x₂−1 by x₂ and x₂ ^(κ)−1 by x₂ ^(κ), yielding the objective function [x₁+γ₀x₁ ^(γ)x₂]^(α)+κ₀x₁ ^(α)x₂ ^(κ), which also upper bounds the total path computation time. We rewrite the constraint x₁x₂=N as Nx₁ ⁻¹x₂ ⁻¹=1, which can be replaced by Nx₁ ⁻¹x₂ ⁻¹≦1, since the inequality must be satisfied as an equality at any solution of the optimization problem. Letting y=x₁+γ₀x₁ ^(γ)x₂ yields the optimization problem: minimize y^(α)+κ₀x₁ ^(α)x₂ ^(κ) subject to x₁+γ₀x₁ ^(γ)x₂≦y and Nx₁ ⁻¹x₂ ⁻¹≦1. The inequality constraint x₁+γ₀x₁ ^(γ)x₂≦y must be satisfied as an equality in any solution; we rewrite this constraint as x₁y⁻¹+γ₀x₁ ^(γ)x₂y⁻¹≦1. Let s₁=log x₁, s₂=log x₂, s=(s₁, s₂), and t=log y. Combining exponential terms, we obtain the optimization problem T₂(N): minimize f ₂(s,t)=e ^(αt)+κ₀ e ^((αs) ₁ ^(+κs) ₂ ⁾  (1) subject to e ^((s) ₁ ^(−t))+γ₀ e ^((γs) ₁ ^(+s) ₂ ^(−t))≦1  (2) Ne ^((−s) ₁ ^(−s) ₂ ⁾≦1  (3) Problem T₂ (N) it is a special type of convex optimization problem called a geometric program. Geometric programs are particularly well suited to engineering design, with a rich duality theory permitting particularly efficient solution methods.

Let f₂*(N) be the infimum of the primal objective function (1) subject to the primal constraints (2) and (3). Thus f₂*(N) is the minimum total path computation time for a two-level PNNI network with N lowest-level nodes.

Define $\begin{matrix} {\omega = {{\alpha\quad\gamma} + {\frac{{\alpha^{2}\left( {1 - \gamma} \right)}^{2}}{{\alpha\left( {2 - \gamma} \right)} - \kappa}\quad{and}}}} & (4) \\ {{\omega_{0} = {\alpha^{\alpha}{\mathbb{e}}^{{({2 + \kappa_{0} + \gamma_{0}})}/e}}},} & (5) \end{matrix}$ Theorem 1 below states that ω₀N^(ω) is an upper bound on the minimum total path computation time for two-level PNNI networks. Theorem 1. For all N>0 we have f₂*(N)≦ω₀N^(ω.)

By assumption, the computational complexity of routing in a flat network with N nodes has complexity α₀z^(α). That is, flat network routing has computational complexity O(N^(α)). (Recall that a function g(z) of the single variable z is O(x^(η)) if g(z)≦η₀z^(η) for some η₀>0 and all sufficiently large z.) Theorem 1 above states that the computational complexity of routing in a two-level network with N nodes is O(N^(ω)).

Theorem 2. ω<α.

Theorem 2 implies that, for all sufficiently large N, the computational complexity of path computation is smaller for a two-level network that for a flat network. By evaluating ω, the advantage of using a two-level network, rather than a flat network, can be computed. The larger the difference α−ω, the larger the computational savings of using a two-level network. With α=2 and κ=γ=½, we have ω=7/5, so the minimum total path computation time is O(N^(7/5)), rather than the flat network value O(N²). With α=2, κ=½ and γ=0, we have ω=8/7, so having a constant number of border nodes for each PG reduces the total routing time to O(N^(8/7)).

For a three-level network, let N be the total number of lowest-level nodes, let x₁ be the number of lowest-level nodes in each level-1. PC, x₂ be the number of level-1. PCs in each level-2 PG, and x₃ be the number of level-2 PGs. Thus x₁x₂x₃=N.

As for H=2, we assume the complexity of routing in a flat network with z lowest-level nodes is R₁(z)=α₀z^(α), where α₀>0 and α∈A.

As for H=2, certain nodes are identified as border nodes. A level-1 border node of a PG in a 3-level network is a lowest-level node which is an endpoint of a trunk linking the PG to another level-1 PG within the same level-2 PG. A level-2 border node of a PG in a 3-level network is a lowest-level node which is an endpoint of a trunk linking the PG to another level-2 PG within the same PNNI network. For example, suppose each country in the world is a level-2 PG, and each U.S. state is a level-1 PG. Then if there is a trunk from a switch a in Boston to a switch b in London, a and b are level-2 border nodes.

For h=1, 2, we assume that the number of level-h border nodes in a level-h PG with z lowest-level nodes is bounded above by B_(h)(z)=γ₀z^(γ), where γ₀>0 and γ∈Γ. Thus each level-1 PG has at most B₁(x₁)=γ₀x₁ ^(γ) level-1 border nodes, and each level-2 PG has at most B₂(x₁x₂)=γ₀(x₁x₂)^(γ) level-2 border nodes.

We assume that the total number of level-2 PGs, excluding the source level-2 PG, that the connection visits is bounded above by V₂(x₃)=κ₀(x₃ ^(κ)−1), where κ₀>0 and κ∈K. Note that V₂(1)=0, which means that in the degenerate case where there is one level-2 PG, there are no level-2 PGs visited other than the source level-2 PG. We assume that the total number of level-1 PGs visited within the source level-2 PG, excluding the source level-1 PG, is bounded above by V₁(x₂)=κ₀(x₂ ^(κ)−1).

In a three-level PNNI network, the source node sees the x₁ nodes in its level-1 PG, at most B₁(x₁) level-1 border nodes in each of the x₂−1 level-1 PGs (excluding the source level-1 PG) in the same level-2 PG as the source, and at most B₂(x₁x₂) level-2 border nodes in each of the x₃−1 level-2 PGs (excluding the source level-2 PG) in the PNNI network. Thus the total number of nodes seen by the source is bounded above by x ₁+(x ₂−1)B ₁(x ₁)+(x ₃−1)B ₂(x ₁ x ₂)=x ₁+(x ₂−1)γ₀ x ₁ ^(γ)+(x ₃−1)γ₀(x ₁ x ₂)^(γ.) The time complexity of the source path computation is bounded above by R₁(x₁+(x₂−1)B₁(x₁)+(x₃−1)B₂(x₁x₂)).

The total path computation time for all the level-1 PGs in the source level-2 PG, excluding the source level-1 PG, is at most V₁(x₂)R₁(x₁). For z>0, define R₂(z)=ω₀z^(ω). The total path computation time for each of the V₂(x₃) level-2 PGs visited (other than the source level-2 PG) is, by definition, f₂*(x₁x₂), which by Theorem 2 is bounded above by R₂(x₁x₂).

To minimize the upper bound on the total path computation time for a three-level network, we solve the optimization problem: minimize R₁(x₁+(x₂−1)B₁(x₁)+(x₃−1)B₂(x₁x₂))+V₁(x₂)R₁(x₁)+V₂(x₃)R₂(x₁x₂) subject to x₁x₂x₃=N. We approximate x₂−1 by x₂, x₃−1 by x₃, x₂ ^(κ)−1 by x₂ ^(κ), and x₃ ^(κ)−1 by x₃ ^(κ), which preserves the upper bound. Introducing the variable y, we obtain the optimization problem: minimize α₀y^(α)+κ₀x₂ ^(κ)α₀x₁ ^(α)+κ₀x₃ ^(κ)ω₀(x₁x₂)^(ω) subject to x₁+x₂γ₀x₁ ^(γ)+x₃γ₀(x₁x₂)^(γ)≦y and Nx₁ ⁻¹x₂ ¹x₃ ⁻¹≦1. Letting s₁=log x₁, s₂=log x₂, s₃=log x₃, s=(s₁, s₂, s₃), and t=log y, we obtain the geometric program T₃(N): minimize f ₃(s,t)=α₀ e ^(αt)+α₀κ₀ e ^((αs) ₁ ^(+κs) ₂ ⁾+κ₀ω₀ e ^((ω(s) ₁ ^(+s) ₂ ^()+κs) ₃ ⁾  (6) subject to e ^(s) ₁ ^(−t)+γ₀ e ^((s) ₁ ^(+s) ₂ ^(−t))+γ₀ e ^((γ(s) ₁ ^(+s) ₂ ^()+s) ₃ ^(−t))≦1  (7) Ne ^((−s) ₁ ^(−s) ₂ ^(−s) ₃ ⁾≦1  (8)

Let f₃*(N) be the infimum of the primal objective function (6) subject to constraints (7) and (8). Thus f₃*(N) is the minimum total path computation time for a three-level PNNI network with N lowest-level nodes.

Define $\begin{matrix} {\xi = {\frac{\alpha\left( {\omega - {\kappa\quad\gamma}} \right)}{{\alpha\left( {1 - \gamma} \right)} + \left( {\omega - \kappa} \right)}.}} & (9) \end{matrix}$ Theorem 3. For some ξ₀>0 and all N>0 we have f₃*(N)≦ξ₀N^(ξ).

By Theorem 3, the minimum total path computation time for a three-level PNNI network has computational complexity O(N^(ξ)). Theorem 4. ${\omega - \xi} = {\frac{\left( {\omega - \kappa} \right)\left( {\omega - {\alpha\quad\gamma}} \right)}{{\alpha\left( {1 - \gamma} \right)} + \left( {\omega - \kappa} \right)} > 0.}$

Theorem 4 implies that, for all sufficiently large N, the computational complexity of path computation is smaller for a three-level PNNI network that for a two-level network. By evaluating ω and ξ, the advantage of using a three-level network, rather than a two-level network, can be computed. The larger the difference ω−ξ, the larger the computational savings of using a three-level network. With α=2 and κ=γ=½, we have ω=7/5 and ξ=23/19≈1.21, so for three-level networks, the total path computation time is O(N^(23/119)), rather than O(N^(7/5)) as would be obtained with a two-level network. With α=2, κ=½ and γ=0, we have ω=8/7 and ξ=32/37≈0.865, so the total path computation time is O(N^(32/37)), rather than O(N^(8/7)) as would be obtained with a two-level network; in this case the total path computation time is sublinear in N for a three-level network.

The following steps determine whether to design the PNNI network as a flat (non-hierarchical) network, as a two-level network, or as a three-level network. Step 1. Compute $\omega = {{\alpha\quad\gamma} + \frac{{\alpha^{2}\left( {1 - \gamma} \right)}^{2}}{{\alpha\left( {2 - \gamma} \right)} - \kappa}}$ Step 2. Compute $\xi = {\frac{\alpha\left( {\omega - {\kappa\quad\gamma}} \right)}{{\alpha\left( {1 - \gamma} \right)} + \left( {\omega - \kappa} \right)}.}$ Step 3. (a) If α−ξ≦τ₁, where τ₁ is a predetermined positive tolerance, then design the PNNI network as a flat (non-hierarchical) network. If α−ξ>τ₁, go to (b). (b) If ω−ξ≦τ₂, where τ₂ is a predetermined positive tolerance, then design the PNNI network as a two-level network. If ω−ξ>τ₂, then design the PNNI network as a three-level network.

Various additional modifications of this invention will occur to those skilled in the art. All deviations from the specific teachings of this specification that basically rely on the principles and their equivalents through which the art has been advanced are properly considered within the scope of the invention as described and claimed. 

1. A method for constructing a private network-to-network interface (PNNI) network, the PNNI network configured in PNNI network peer group subunits each comprising a plurality of nodes, comprising the steps of: a. assembling a first level of network nodes in PNNI network peer groups by interconnecting nodes within each peer group, and interconnecting at least some of the nodes of one peer group with nodes of another peer group, so that a node in a peer group in the first level may be connected to a node in another peer group of the first level through n intermediate nodes, b. adding a second level of network nodes wherein the second level of network nodes are interconnected together and wherein the nodes of the second level provide interconnections between the peer groups in the first level, so that at least some of the nodes in a peer group in the first level may be connected to a node in another peer group of the first level through n-x intermediate nodes, where x is at least 1, wherein the step of adding the second level of network nodes is performed using the calculation: (1) compute ${\omega = {{\alpha\quad\gamma} + \frac{{\alpha^{2}\left( {1 - \gamma} \right)}^{2}}{{\alpha\left( {2 - \gamma} \right)} - \kappa}}},$ (2) compute ${\xi = \frac{\alpha\left( {\omega - {\kappa\quad\gamma}} \right)}{{\alpha\left( {1 - \gamma} \right)} + \left( {\omega - \kappa} \right)}},$ (3) if α−ξ≦τ₁, where τ₁ is a predetermined positive tolerance, then design the PNNI network as a flat (non-hierarchical) network, (4) if ω−ξ≦τ₂, where τ₂ is a predetermined positive tolerance, then design the PNNI network as a two-level network, (5) if ω−ξ>τ₂, then design the PNNI network as a three-level network. 